puts "INFO: Running script [info script]\n"

set CPU_NUM  8

#################################################
# Required variables
# These variables must be correctly filled in for the flow to run properly
#################################################
set DESOGM_NAME ""
set VERSION ""
set DESIGN_LIBRARY ""

set STD_LEF_FILE ""
set MACRO_LEF_FILE ""

set VERILOG_NETLIST_FILES ""
set SDC_FILE ""

set TECH_LEF_FILE "/home/pdk/UMC/UMC110/project/tech/lef/110nm_AE_6m1t_tm40k.lef"

set QRC_TECH_FILE(cworst) "/home/pdk/UMC/UMC110/project/qrc/Cmax/qrcTechFile"
set QRC_TECH_FILE(cbest) "/home/pdk/UMC/UMC110/project/qrc/Cmin/qrcTechFile"

set QRC_LAYER_MAP ""

set MIN_ROUTING_LAYER  "ME2"
set MAX_ROUTING_LAYER  "ME5"

set PWR_NET  "VDD VDDIO"
set GND_NET  "VSS VSSIO"

######################################################
# Flow control
######################################################
set FLOW_EFFORT                         "standard" ; # value: express|standard|extreme, default is standard
set TIMING_EFFORT                       "high"     ; # value: low|high, default is high
set CONGESTION_EFFORT                   "auto"     ; # value: low|medium|high|auto, default is auto
set POWER_EFFORT                        "none"     ; # value: none|low|high, default is none


##########################################################
# Variables for import
##########################################################
set VIEWDEFINATION_FILE "user_scripts/view.tcl"
set USER_CONNECT_PG_NET_SCRIPT "user_scripts/pg_connection.tcl"



##########################################################
# Variables for init_floorplan
##########################################################
set DIE_BOUNDARY     ""
set PIN_PLACEMENT_FILE   ""
set MACRO_PLACEMENT_FILE  ""

##########################################################
# Variables for floorplan
##########################################################
set POWERPLAN_FILE "user_scripts/create_power.tcl"

##########################################################
# Variables for pre_place
##########################################################
set GROUP_PATH_FILE               "user_scripts/group_path.tcl"
set AOCV_FILE                     "user_scripts/read_aocv.tcl"

##########################################################
# Variables for place
##########################################################
set USER_PLACE_OPT_SCRIPT ""
set USER_ADD_IO_BUFFER_SCRIPT "user_scripts/add_io_buffer.tcl"

##########################################################
# Variables for ccopt
##########################################################
set CTS_NDR_RULE_NAME    "CLK_NDR_2w2s"
set CTS_NDR_MIN_ROUTING_LAYER   "ME2"
set CTS_NDR_MAX_ROUTING_LAYER   "ME5"

set USER_CCOPT_SPEC_FILE "user_scripts/user_ccopt_spec.tcl"
set ENABLE_USEFUL_SKEW          false

##########################################################
# hold fix
##########################################################
set CLOCK_OPT_FIX_HOLD            0
set ROUTE_OPT_FIX_HOLD            0

##########################################################
# Variables for route
##########################################################
set ROUTE_AUTO_ANTENNA_FIXING     true
set ANTENNA_RULE_FILE             ""
#set ANTENNA_RULE_FILE             "/home/async1/UMC40ulpeflash/UMC40eflash/project/arm_tech/r0p0/milkyway/1p7m1h/antenna_rules.tcl"

set REDUNDANT_VIA_INSERTION        false

##########################################################
# Variables for route_opt
##########################################################
set ROUTE_OPT_LEAKAGE_POWER_OPTIMIZATION    false
set ROUTE_OPT_CTO                           false
set USER_ROUTE_OPT_SCRIPT        ""
set ROUTE_OPT_FLOW               "normal" ; # value: normal|quick

##########################################################
# Variables for std_filler
##########################################################
set STD_FILLER_DO_DRC_FIX true ; # do another ecoRoute to fix drc
set CHANGE_NAME 1

##########################################################
# Variables for export
##########################################################
set WRITE_DATA_STEP_NAME               std_filler ; # default use std_filler step, can change to any step
set OUTPUTS_DIR                        "./output"
set WRITE_GDS_LAYER_MAP_FILE           "user_scripts/tech.map"
set WRITE_DATA_TYPE_LIST                "verilog pg_verilog def starrc_def lef tech_lef sdc gds etm"
set WRITE_LEF_WITH_ANTENNA                  "true"


set REMOVE_EMPTY_MODULE "true"


set STDCELL_GDS_FILE  "/home/pdk/UMC/UMC110/project/sc/gds/ua11lscll12hdre.gds"
set MACRO_GDS_FILE     ""
set SUB_BLOCK_GDS_FILE ""
set MAX_PG_ROUTING_LAYER    "ME6"
set PG_PIN_LAYER "ME6"

##########################################################
# UMC40
##########################################################
#set TIE_HIGH_CELL  "TIEHI_X1M_A9TRULP_C40_W3"
#set TIE_LOW_CELL  "TIELO_X1M_A9TRULP_C40_W3"

#set TIE_CELL_MAX_FANOUT  ""
#set TIE_CELL_MAX_DISTANCE ""

#set TAP_CELL ""

#set HOLD_FIX_DELAY_CEL "DLY2_X*M_A9TRULP_C40_W3"
#set HOLD_FIX_BUFFER_CEL "BUF_X*M_A9TRULP_C40_W3"

#set DONT_USE_CELL_LIST "*X0* *DLY* *FRICG* SDFFY HEAD* FOOT* *X24* *X32* *XOR3*X1* *XNOR3*X1* *AOI22*X1* *AOI222*X1* *AOI2222*X1* *OAI2222*X1*"

##########################################################
# UMC110
##########################################################
set TIE_HIGH_CELL  "TIE1HM"
set TIE_LOW_CELL  "TIE0HM"

set TIE_CELL_MAX_FANOUT  ""
set TIE_CELL_MAX_DISTANCE ""

set TAP_CELL ""

#set HOLD_FIX_DELAY_CEL "DEL2M*HM"
#set HOLD_FIX_BUFFER_CEL "BUFM*HM"

set HOLD_FIX_DELAY_CEL "DEL*M*HM"
set HOLD_FIX_BUFFER_CEL "BUFM*HM"

#set DONT_USE_CELL_LIST "*M24HM *M38HM *M36HM *M40HM *M48HM OA3*M8HM OAI3*M8HM AO3*M8HM AOI3*M8HM ADFM8HM KXOR2M12HM"
set DONT_USE_CELL_LIST "*M48HM OA3*M8HM OAI3*M8HM AO3*M8HM AOI3*M8HM ADFM8HM KXOR2M12HM CK*"

##########################################################
# MISC
##########################################################
# pre script for each step
set PRE_SCRIPT(floorplan)            "user_scripts/floorplan.pre.tcl"
set PRE_SCRIPT(place)            "user_scripts/place.pre.tcl"
set PRE_SCRIPT(ccopt)            "user_scripts/ccopt.pre.tcl"
set PRE_SCRIPT(route)            "user_scripts/route.pre.tcl"
set PRE_SCRIPT(route_opt)            "user_scripts/route_opt.pre.tcl"
set PRE_SCRIPT(std_filler)            "user_scripts/std_filler.pre.tcl"


# post script for each step
set POST_SCRIPT(import)            "user_scripts/import.post.tcl"
set POST_SCRIPT(floorplan)            "user_scripts/floorplan.post.tcl"
set POST_SCRIPT(place)            "user_scripts/place.post.tcl"
set POST_SCRIPT(ccopt)            "user_scripts/ccopt.post.tcl"
set POST_SCRIPT(route)            "user_scripts/route.post.tcl"
set POST_SCRIPT(route_opt)            "user_scripts/route_opt.post.tcl"
set POST_SCRIPT(std_filler)            "user_scripts/std_filler.post.tcl"

set TIMING_REPORT_FORMAT "instance arc cell fanout load slew user_derate total_derate delay incr_delay arrival edge voltage"

puts "INFO: Completed script [info script]\n"



